The present invention relates to a method and to an apparatus for motion estimation using block matching.
Block matching is well known as a robust and intuitively simple method of motion estimation for television pictures. One important parameter in block matching is the block size. Large blocks give more reliable motion estimation than small blocks, particularly in the presence of noise on the input picture, but they produce a coarser motion vector field. If the goal of the motion estimation is to provide a motion compensated prediction, for example in bit rate reduction applications, a suitable compromise can usually be found, bearing in mind the fact that neither reliability nor a fine motion vector field are necessary conditions for good performance since occasional errors can be tolerated. If, however, the motion estimation is being used for motion compensated interpolation, for example for up-conversion between 50 and 100 Hz display rates, the effects on picture quality of wrong vectors for whole blocks, and also of vectors that do not correctly follow the boundaries of moving objects, can be severe.
It is one object of the invention to disclose a method by which the reliability advantages of a large block size are combined with the performance of more localized motion vectors. It is a further object of the invention to disclose an apparatus which utilizes the inventive method.
The inventive solutions are slightly different, but are all based on block matching using large blocks, followed by post-processing in which the boundaries between motion vectors are fixed more precisely or xe2x80x98localizedxe2x80x99.
As depicted in FIG. 1, the picture is divided into large rectangular blocks LB (xb, Yb), where xb is a horizontal coordinate increasing from left to right and Yb a vertical coordinate increasing from top to bottom of the picture. In the descriptions below, the block size is supposed to be M pixels by N lines. Typical block sizes are 8xc3x978, 16xc3x978 or 16xc3x9716. The block matching may be carried out either on a subsampled image or as described in EP93 402059 of the applicant or on the original, and may be either conventional or xe2x80x98two sidedxe2x80x99, wherein the block to be interpolated is matched with a previous and a subsequent picture, as described in EP93 402187 of the applicant. The block matching process yields an error value E(vx, vy) for each candidate motion vector (vx, vy). The motion vector chosen for the block is the one for which the error is a minimum.
The aim of the localization process is to produce a separate motion vector for each pixel. One feature that is common to all the localization methods that is that, for any pixel, the motion vector will be on of four possibilities: the vector calculated for the block containing the pixel and the vectors of the nearest blocks horizontally, vertically and diagonally, as illustrated in FIG. 1.
The pixels for which the choice will be made from a given set of vectors form an offset block RMLV, shown in the figure by a broken line. In this region, localized motion vectors are chosen from the vectors V1, V2, V3 and V4 of the corresponding adjacent large blocks.
In principle, the inventive method is suited for motion estimation using block matching, wherein a motion vector related to each block is calculated and wherein for any pixel of the current block, a pixel motion vector is calculated using four motion vectors, that is the motion vector of the current block and the motion vector of three adjacent blocks, whereby
for any pixel, from error values related to said four block motion vectors several estimated errors are calculated, taking into account the position of the pixel relative to the centre of each of the corresponding block, whereby the minimum of said estimated errors is taken to select the related of said four block motion vectors as the final motion vector for said pixel, or whereby
in addition, for each pixel a pixel matching is performed by comparing said four motion vectors, followed by counting in rows the number of choices from the left, respectively right, pair of blocks and by counting in columns the number of choices from the upper, respectively lower, pair of blocks and re-ordering the vectors to form groups of identical vector types in such a way, that every pixel has two decisions which together define a unique motion vector for the pixel, or whereby
in addition, for each subblock smaller than said block a subblock matching is performed by comparing said four motion vectors relevant to the subblock and selecting one with respect to a minimum subblock error, whereafter a dominant subblock vector is generated from the selected vectors by combining them.
In principle, a first embodiment of the inventive apparatus for motion estimation using block matching, wherein a motion vector related to each block of a picture signal is calculated, includes:
large-block matching means receiving said picture signal and producing block motion vectors and related block errors;
memory means which store said block motion vectors and said error;
error estimation means, in particular linear error interpolation means, which operate on stored error values corresponding to each four related block motion vectors, that is the motion vector of the current block and the motion vectors of the three adjacent blocks, and which calculate for each pixel estimated errors, taking into account the position of the pixel relative to the centre of each of the corresponding block;
comparing means which take the minimum of said estimated errors;
selecting means for selecting in relation to said minimum the respective of said four block motion vectors as a final motion vector for the current pixel.
In principle, a second embodiment of the inventive apparatus for motion estimation using block matching, wherein a motion vector related to each block of a picture signal is calculated, includes:
large-block matching means receiving said picture signal and producing block motion vectors;
memory means which store said block motion vectors;
pixel matching means which compare each four of said stored block motion vectors, that is the motion vector of the current block and the motion vectors of the three adjacent blocks;
count means for counting in rows the number of vector choices from the left, respectively right, pair of blocks and by counting in columns the number of vector choices from the upper, respectively lower, pair of blocks and for re-ordering the vectors to form groups of identical vector types in such a way, that every pixel has two decisions; and
assigning means which combine said two decisions for defining a unique motion vector for each pixel, selected from the corresponding block motion vectors.
In principle, a third embodiment of the inventive apparatus for motion estimation using block matching, wherein a motion vector related to each block of a picture signal is calculated, includes:
large-block matching means receiving said picture signal and producing block motion vectors;
memory means which store said block motion vectors;
subblock matching means which compare each four of said stored block motion vectors, that is the motion vector of the current block and the motion vectors of the three adjacent blocks to select a vector which has a minimum subblock error;
combining means, in particular median filter means, which generate a dominant subblock vector from said selected vectors.